package com.example.captcha.model;

import cn.hutool.captcha.CaptchaUtil;
import cn.hutool.captcha.ShearCaptcha;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.io.IOException;

@RestController
@RequestMapping("/captcha")
public class CaptCharConfig {
    public static void main(String[] args) {
//        //定义图形验证码的长和宽
//        LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(200, 100);
//
//        //图形验证码写出，可以写出到文件，也可以写出到流
//        lineCaptcha.write("D:\\javaku\\java/pic/line.png");
//        //输出code
//        Console.log(lineCaptcha.getCode());
//        //验证图形验证码的有效性，返回boolean值
//        System.out.println(lineCaptcha.verify("1234"));

//        //定义图形验证码的长、宽、验证码字符数、干扰元素个数
//        CircleCaptcha captcha = CaptchaUtil.createCircleCaptcha(200, 100, 5, 20);
//        //CircleCaptcha captcha = new CircleCaptcha(200, 100, 5, 20);
//        //图形验证码写出，可以写出到文件，也可以写出到流
//        captcha.write("D:/javaku/java/pic/circle.png");
//        //验证图形验证码的有效性，返回boolean值
//        boolean verify = captcha.verify("1234");

//        //定义图形验证码的长、宽、验证码字符数、干扰线宽度
//        ShearCaptcha captcha = CaptchaUtil.createShearCaptcha(200, 100, 4, 4);
//        //ShearCaptcha captcha = new ShearCaptcha(200, 100, 4, 4);
//        //图形验证码写出，可以写出到文件，也可以写出到流
//        captcha.write("D:/javaku/java/pic//shear.png");
//        //验证图形验证码的有效性，返回boolean值
//        captcha.verify("1234");

    }

    @RequestMapping("/getCaptcha")
    public void getCaptcha(HttpServletResponse response) throws IOException {
        ShearCaptcha captcha = CaptchaUtil.createShearCaptcha(200, 100, 4, 4);
        String code = captcha.getCode();
        System.out.println(code);
        captcha.write(response.getOutputStream());
        System.out.println(captcha.verify("1234"));
    }
}
